package com.heima.lock.sjms.原型模式;

/**
 * @author 陈辉
 * @data 2024 15:06
 * 原型模式： 以一个对象为原型，快速产生另一个对象。
 *
 * 深拷贝： 不仅对象本身拷贝，连对象的属性也拷贝。
 * 浅拷贝： 仅对象本身拷贝，属性不拷贝，直接复用。
 */

public class Demo {
    public static void main(String[] args) throws Exception {
        Cls cls = new Cls();
        cls.setCname("Java1期");
        Student stu1 = new Student();
        stu1.setName("多利");
        stu1.setAge(3);
        stu1.setCls(cls);
        System.out.println("stu1 = " + stu1);

        //需求1：基于stu1对象克隆出一个stu2
        //需求2：基于stu1对象克隆出一个stu2，要求：stu1的班级属性值也要克隆
        Student stu2 = stu1.clone();
        System.out.println("stu2 = " + stu2);

    }
}
